1. Field of the Invention
The present invention relates to a method for recording the data state in a data processing system in which at least one program is executed and, in this context, at least one data set within one or more data memories is accessed, where an exceptional situation determined by prescribed characteristics is reached in a triggering program, and at least one relevant data set which is at least indirectly affected by an access operation by the triggering program and is intended for subsequently deducing the circumstances leading to the exceptional situation is selected on the basis of a prescribed rule.
2. Description of the Prior Art
Data processing systems frequently operate with a number of files or other data sets, e.g. the data on a data medium, in a database or a stipulated subset thereof. The data in these files, which is also understood to mean data sets in general below, in a data processing system can be read, processed and written back to files by programs executed on the data processing system. During execution of a program, a situation may arise, at a wide variety of points in the program execution, in which it is not appropriate for the program to continue. Such exceptional situations may arise, for example, when erroneous or unexpected data sets arise or on account of logical errors in the program structure. The occurrence of an exceptional situation makes it necessary to analyze the circumstances which have led to this situation. This requires that the exceptional situation, including the information from all the files used, be recorded as accurately as possible.
In many cases, the analysis is not performed by the user, but rather by the manufacturer of the data processing system or of the programs designed for it. In this case, the relevant files need to be saved by the user, possibly combined and sent to the manufacturer so that the latter can determine the causes of the exceptional situation. Even if the analysis of the exceptional situation is performed by the user or at the site of the data processing system, it is helpful if the data profile for the relevant files is recorded and stored. The reason for this is that, after recording, the user can continue to work on the data processing system at least using another application. In many cases, it is necessary to record a situation because the predominant part of data processing is not directly affected by the exceptional situation and, thus, is not interrupted. This as may be the case, for example, on a multiprocess or multiuser system, which is why the state of the relevant files is also variable after the occurrence of the exceptional situation.
With situation recording, particularly when it is done xe2x80x9cmanuallyxe2x80x9d by the user, the problem often arises that, between the exceptional situation arising and the files being saved, a certain time necessarily elapses in which the file contents may be changed. Hence, the consistency of the data in terms of the exceptional state which is to be documented is not ensured.
Previous solutions for recording a situation are limited to an index file in which an error number and possibly a few additional items of data are stored at the instant of an error. Although this information describes the error situation, it does not describe the entire profile of the situation, which includes not only the data concerned in the program but also the files involved, so that error reproduction and reliable analysis using the index file are often not possible. Within the context of this description, an error is understood as meaning an exceptional condition on the basis of whichxe2x80x94for whatever reasonsxe2x80x94it appears appropriate at least to interrupt, if not to terminate, the program, e.g. on account of an error situation in the narrower sense (the program cannot be continued), when a parameter structure which is not envisaged during program execution or is classed as not being possible arises, if inconsistent operating data are discovered etc.
U.S. Pat. No. 5,790,777 describes a computer system analysis device in which, in the case of a system error, a dedicated section of the system produces a crash dump file. Another system section is provided in order to produce a device file representing a memory profile during system operation. In the event of a system error, these files and a kernel file are accessed for the purposes of system analysis. Another system section is used to search for data which is requested for system analysis. The computer system in this document thus contains a number of system sections for performing system analysis which are distinguished from the actual system section which is subject to the analysis.
It is, therefore, an object of the present invention to consistently and completely record the data state of a data processing system for an exceptional situation arising on this system.
This object is achieved by a method of in which, according to the teachings of the present invention, a recording module is called by the triggering program and receives information from the latter regarding which data sets need to be treated as relevant data sets for creating the recording copy and creates a recording copy of the content of the at least one relevant data set via at least read access to the at least one relevant data set, the recording copy being in a form which permits transfer to another data processing system independently of the triggering program.
Such a recording module may, in particular, be produced independently of the triggering program and, thus, may be called by a number of triggering programs. This solution permits an interfile, consistent snapshot of the entire surroundings of the triggering program at the instant of the error or of the exceptional condition. The level of control required from the user is thus reduced, since he now need only occupy himself with the recording copy; in particular, he no longer has the bother of determining which files are, in fact, relevant. Often, files which are of no significance and thus act simply as xe2x80x9cballastxe2x80x9d are also stored in this case, of course. The personnel analyzing the error obtains a consistent and complete picture of the exceptional situation. This increases the rate of errors being found and results in the programs and the associated file and data structures being corrected more quickly.
One advantageous embodiment of the present invention is used for dealing with the case of an error in program execution. In this case, the exceptional situation is an error situation for data in a data set and/or for the program execution of the triggering program or of a program associated with the latter.
In order to make handling a simple matter, it is beneficial if the recording copy is created in the form of an individual file.
It is likewise beneficial if a data compression method is used for creating the recording copy.
In another beneficial embodiment of the present invention, additional information supplied by the triggering program is incorporated into the recording copy. This information is used, for example, for documenting the error state beyond the recorded data sets.
In this context, it is beneficial if the recording module receives the information relating to the relevant data sets in a prescribed data set.
In addition, it is advantageous for obtaining a consistent data profile if the relevant data sets are blocked for write access operations on account of the exceptional situation, and this block is not removed before the recording copy has been completed.
Additional features and advantages of the present invention are described in, and will be apparent from, the following Detailed Description of the Preferred Embodiments and the Drawings.